Запуск сервера
- На устройство, выбранное в качестве сервера, выполняется установка сервера (одной командой через SSH-терминал)
- Команда запуска ПО сервера автоматически добавляется в автозагрузку устройства
- Опционально, в интерфейсе настроек или через конфиги задаются первоначальные настройки сервера (порт веб-интерфейса, использование SSL и тп.)
- Веб-интерфейс сервера доступен на указанном в настройках порту (обычно 80 или 443)
- В веб-интерфейсе создается проект, добавляются пользователи, добавляются шлюзы, узлы, рисуются мнемосхемы
- Выполняется сборка проекта
- Сервер готов к обработке данных со шлюзов или с локальных узлов
Запуск шлюза
- На устройство, выбранное в качестве шлюза, выполняется установка шлюза (одной командой через SSH-терминал)
- Мастер установки запрашивает параметры подключения к серверу (хост, порт и тп)
- Команда запуска ПО шлюза автоматически добавляется в автозагрузку устройства
- Веб-интерфейс шлюза доступен на порту 8008 (если в настройках не задано иное значение)
- При необходимости, через интерфейс возможно выполнить дополнительную настройку шлюза (отключить ненужные сервисы, включить логирование, изменить пароль, настроить перезагрузку при отсутствии связи и тп.)
- Шлюз в бесконечном цикле начинает выполнять попытки подключения к серверу
Коммуникация Сервер-Шлюз
- Шлюз устанавливает исходящее соединение с сервером (не требуются белые IP)
- Сервер принимает подключение и подписывается на изменения переменных
- Шлюз загружает с сервера сборку (список переменных для мониторинга и управления, наборы скриптов и расписаний)
- Шлюз в фоновом режиме с помощью имеющихся драйверов выполняет опрос переменных, выполняет скрипты и расписания (независимо от наличия связи с сервером)
- Изменения значений переменных отправляются на сервер
- Сервер отображает изменения на мнемосхемах, записывает тренды, журналирует аварии и генерирует уведомления пользователям при возникновении актуальных для них событий (согласно настройкам групп)
- При отсутствии связи изменения сохраняются в кольцевом буфере для последующей отправки
- При получении от сервера команды на установку нового значения, шлюз адресует команду соответствующему драйверу и возвращает серверу в ответ результат выполнения команды (успех или код ошибки)
- При изменении проекта сервер автоматически формирует для шлюза новую сборку и отправляет шлюзу уведомление о необходимости загрузить новую сборку (см. п. 3)
Работа пользователей
- Пользователь, используя ПК, ноутбук или мобильное устройство, с помощью веб-браузера открывает веб-интерфейс сервера (см. Запуск сервера, п.3)
- Пользователь выполняет авторизацию и получает права доступа, соответствующие настройкам групп
- В соответствии с правами доступа пользователь получает доступ к проектам и их разделам (узлы, мнемосхемы, исторические данные, отчеты и тп.)
- С помощью мнемосхем и системных инструментов Пользователь выполняет мониторинг и управление элементами проектов (узлами и отдельными переменными)
- Сервер уведомляет пользователя об актуальных событиях (аварии, предупреждения и тп.) по доступным каналам (аудиовизуально через интерфейс, с помощью SMS-, Telegram- и Email-уведомлений)